纯函数(编程/函数式编程):指没有副作用、并且对相同输入总是产生相同输出的函数。它不会修改外部状态(如全局变量、文件、数据库)、不依赖可变外部环境(如当前时间、随机数),也不会进行可观察的 I/O(如打印、网络请求)。(在一些语境中也可泛指“只做计算、不改变世界”的函数。)
/pjʊr ˈfʌŋkʃən/
A pure function returns the same result for the same input.
纯函数对于相同的输入会返回相同的结果。
In functional programming, using pure functions makes code easier to test, refactor, and parallelize.
在函数式编程中,使用纯函数能让代码更容易测试、重构,并更便于并行执行。
pure 源自拉丁语 purus(“干净的、纯净的”),在英语中引申为“不掺杂、没有污染”。function 源自拉丁语 functio(“执行、履行”)。合起来的 pure function 是计算机科学中的术语,强调函数的“纯净性”——计算过程不被外界状态“污染”,也不去“污染”外界状态。